package com.umpay.dto.merBusi.req.ebankpay;


import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * @ClassName: ebankPayBusiReq  
 * @Description: 网银支付  
 * @author zhangtao  
 * @date May 24, 2018
 */
public class EbankPayOrderBusiReq extends CommonBusiReq{
	
	/**
	 * 商户号
	 */
	@NotEmpty(message = "商户号不能为空")
	@Pattern(message="商户号格式不正确")
	private String merId;
	
	/**
	 * 服务器异步通知地址
	 */
	@NotEmpty(message = "服务器异步通知地址不能为空")
	@Pattern(message = "服务器异步通知地址格式不正确")
	private String notifyUrl;
	
	/**
	 * 前台通知地址
	 */
	@NotEmpty(message = "前台通知地址不能为空")
	@Pattern(message = "前台通知地址格式不正确")
	private String retUrl;
	
	/**
	 * 商户流水号
	 */
	@NotEmpty(message = "商户流水号不能为空")
	@Pattern(message = "商户流水号格式不正确")
	private String merTrace;
	
	/**
	 *订单号
	 */
	@NotEmpty(message = "订单号不能为空")
	@Pattern(message = "订单号格式不正确")
	private String tradeNo;
	
	/**
	 * 支付方式   B2BBANK（B2B网银） B2CBANK（B2C网银） B2CDEBITBANK（B2C个人网银借记卡）
	 */
	@NotEmpty(message = "支付方式不能为空")
	@Pattern(message = "支付方式格式不正确")
	private String payType;
	
	/**
	 * 银行编号
	 */
	@NotEmpty(message = "银行编号不能为空")
	@Pattern(message = "银行编号格式不正确")
	private String gateId;
	
	/**
	 * 支付金额
	 */
	@NotEmpty(message = "支付金额不能为空")
	@Pattern(message = "支付金额格式不正确")
	private String amount;
	
	/**
	 * 用户ip地址
	 */
	@Pattern(message = "用户ip地址格式不正确")
	private String userIp;
	
	/**
	 * 商品编号
	 */
	@Pattern(message = "商品编号格式不正确")
	private String goodsId;
	
	/**
	 * 商品描述信息
	 */
	@Pattern(message = "商品描述信息格式不正确")
	private String goodsInf;
    
	/**
	 * 备注信息
	 */
	@Pattern(message = "备注信息格式不正确")
	private String remark;
	
	/**
	 * 业务产品号
	 */
	@NotEmpty(message = " 业务产品号不能为空")
	@Pattern(message = " 业务产品号格式不正确")
	private String bProductId;
	
	/**
	 * 支付 产品号
	 */
	@NotEmpty(message = "支付产品号不能为空")
	@Pattern(message="支付产品号格式不正确")
	private String pProductId;

	public String getMerId() {
		return merId;
	}

	public void setMerId(String merId) {
		this.merId = merId;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getRetUrl() {
		return retUrl;
	}

	public void setRetUrl(String retUrl) {
		this.retUrl = retUrl;
	}

	public String getMerTrace() {
		return merTrace;
	}

	public void setMerTrace(String merTrace) {
		this.merTrace = merTrace;
	}

	public String getTradeNo() {
		return tradeNo;
	}

	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}

	public String getPayType() {
		return payType;
	}

	public void setPayType(String payType) {
		this.payType = payType;
	}

	public String getGateId() {
		return gateId;
	}

	public void setGateId(String gateId) {
		this.gateId = gateId;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getUserIp() {
		return userIp;
	}

	public void setUserIp(String userIp) {
		this.userIp = userIp;
	}

	public String getGoodsId() {
		return goodsId;
	}

	public void setGoodsId(String goodsId) {
		this.goodsId = goodsId;
	}

	public String getGoodsInf() {
		return goodsInf;
	}

	public void setGoodsInf(String goodsInf) {
		this.goodsInf = goodsInf;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getbProductId() {
		return bProductId;
	}

	public void setbProductId(String bProductId) {
		this.bProductId = bProductId;
	}

	public String getpProductId() {
		return pProductId;
	}

	public void setpProductId(String pProductId) {
		this.pProductId = pProductId;
	}

	@Override
	public String toString() {
		return "ebankPayBusiReq [merId=" + merId + ", notifyUrl=" + notifyUrl + ", retUrl=" + retUrl + ", merTrace="
				+ merTrace + ", tradeNo=" + tradeNo + ", payType=" + payType + ", gateId=" + gateId + ", amount="
				+ amount + ", userIp=" + userIp + ", goodsId=" + goodsId + ", goodsInf=" + goodsInf + ", remark="
				+ remark + ", bProductId=" + bProductId + ", pProductId=" + pProductId + ", rpid=" + rpid + ", version="
				+ version + ", reqDate=" + reqDate + ", reqTime=" + reqTime + "]";
	}

}
